home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 July: Mac OS SDK / Dev.CD Jul 00 SDK2.toast / Development Kits / Cross Platform / QuickTime 4.1.2 Windows SDK / CIncludes / Terminals.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-04-12  |  18.8 KB  |  588 lines  |  [TEXT/R*ch]

  1. /*
  2.      File:        Terminals.h
  3.  
  4.      Contains:    Communications Toolbox Terminal tool Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    QuickTime 4.1
  8.  
  9.      Copyright:    (c) 1988-1993, 1995-1999 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __TERMINALS__
  18. #define __TERMINALS__
  19.  
  20. #ifndef __CONDITIONALMACROS__
  21.     #include <ConditionalMacros.h>
  22. #endif
  23.  
  24. #ifndef __DIALOGS__
  25.     #include <Dialogs.h>
  26. #endif
  27.  
  28. #ifndef __CTBUTILITIES__
  29.     #include <CTBUtilities.h>
  30. #endif
  31.  
  32. #ifndef __CONNECTIONS__
  33.     #include <Connections.h>
  34. #endif
  35.  
  36.  
  37.  
  38.  
  39. #if PRAGMA_ONCE
  40. #pragma once
  41. #endif
  42.  
  43. #ifdef __cplusplus
  44. extern "C" {
  45. #endif
  46.  
  47. #if PRAGMA_IMPORT
  48. #pragma import on
  49. #endif
  50.  
  51. #if PRAGMA_STRUCT_ALIGN
  52.     #pragma options align=mac68k
  53. #elif PRAGMA_STRUCT_PACKPUSH
  54.     #pragma pack(push, 2)
  55. #elif PRAGMA_STRUCT_PACK
  56.     #pragma pack(2)
  57. #endif
  58.  
  59. #if CALL_NOT_IN_CARBON
  60. enum {
  61.     curTMVersion                = 2                                /* current Terminal Manager version */
  62. };
  63.  
  64. enum {
  65.     curTermEnvRecVers            = 0                                /* current Terminal Manager Environment Record version */
  66. };
  67.  
  68. enum {
  69.                                                                 /* error codes    */
  70.     tmGenericError                = -1,
  71.     tmNoErr                        = 0,
  72.     tmNotSent                    = 1,
  73.     tmEnvironsChanged            = 2,
  74.     tmNotSupported                = 7,
  75.     tmNoTools                    = 8
  76. };
  77.  
  78. typedef OSErr                             TMErr;
  79. enum {
  80.     tmInvisible                    = 1 << 0,
  81.     tmSaveBeforeClear            = 1 << 1,
  82.     tmNoMenus                    = 1 << 2,
  83.     tmAutoScroll                = 1 << 3,
  84.     tmConfigChanged                = 1 << 4
  85. };
  86.  
  87. typedef unsigned long                     TMFlags;
  88. enum {
  89.     selTextNormal                = 1 << 0,
  90.     selTextBoxed                = 1 << 1,
  91.     selGraphicsMarquee            = 1 << 2,
  92.     selGraphicsLasso            = 1 << 3,
  93.     tmSearchNoDiacrit            = 1 << 8,
  94.     tmSearchNoCase                = 1 << 9
  95. };
  96.  
  97. typedef unsigned short                     TMSearchTypes;
  98. typedef short                             TMSelTypes;
  99. enum {
  100.     cursorText                    = 1,
  101.     cursorGraphics                = 2
  102. };
  103.  
  104. typedef unsigned short                     TMCursorTypes;
  105. enum {
  106.     tmTextTerminal                = 1 << 0,
  107.     tmGraphicsTerminal            = 1 << 1
  108. };
  109.  
  110. typedef unsigned short                     TMTermTypes;
  111.  
  112. struct TermDataBlock {
  113.     TMTermTypes                     flags;
  114.     Handle                             theData;
  115.     Handle                             auxData;
  116.     long                             reserved;
  117. };
  118. typedef struct TermDataBlock            TermDataBlock;
  119. typedef TermDataBlock *                    TermDataBlockPtr;
  120. typedef TermDataBlockPtr *                TermDataBlockH;
  121. typedef TermDataBlockPtr *                TermDataBlockHandle;
  122.  
  123. struct TermEnvironRec {
  124.     short                             version;
  125.     TMTermTypes                     termType;
  126.     short                             textRows;
  127.     short                             textCols;
  128.     Point                             cellSize;
  129.     Rect                             graphicSize;
  130.     Point                             slop;
  131.     Rect                             auxSpace;
  132. };
  133. typedef struct TermEnvironRec            TermEnvironRec;
  134.  
  135. typedef TermEnvironRec *                TermEnvironPtr;
  136.  
  137. union TMSelection {
  138.     Rect                             selRect;
  139.     RgnHandle                         selRgnHandle;
  140. };
  141. typedef union TMSelection                TMSelection;
  142. typedef struct TermRecord                 TermRecord;
  143.  
  144. typedef TermRecord *                    TermPtr;
  145. typedef TermPtr *                        TermHandle;
  146. typedef CALLBACK_API( long , TerminalSendProcPtr )(Ptr thePtr, long theSize, long refCon, CMFlags flags);
  147. typedef CALLBACK_API( void , TerminalBreakProcPtr )(long duration, long refCon);
  148. typedef CALLBACK_API( long , TerminalCacheProcPtr )(long refCon, TermDataBlockPtr theTermData);
  149. typedef CALLBACK_API( void , TerminalSearchCallBackProcPtr )(TermHandle hTerm, short refNum, Rect *foundRect);
  150. typedef CALLBACK_API( Boolean , TerminalClikLoopProcPtr )(long refCon);
  151. typedef CALLBACK_API( CMErr , TerminalEnvironsProcPtr )(long refCon, ConnEnvironRec *theEnvirons);
  152. typedef CALLBACK_API( void , TerminalChooseIdleProcPtr )(void );
  153. typedef CALLBACK_API( long , TerminalToolDefProcPtr )(TermHandle hTerm, short msg, long p1, long p2, long p3);
  154. typedef STACK_UPP_TYPE(TerminalSendProcPtr)                     TerminalSendUPP;
  155. typedef STACK_UPP_TYPE(TerminalBreakProcPtr)                     TerminalBreakUPP;
  156. typedef STACK_UPP_TYPE(TerminalCacheProcPtr)                     TerminalCacheUPP;
  157. typedef STACK_UPP_TYPE(TerminalSearchCallBackProcPtr)             TerminalSearchCallBackUPP;
  158. typedef STACK_UPP_TYPE(TerminalClikLoopProcPtr)                 TerminalClikLoopUPP;
  159. typedef STACK_UPP_TYPE(TerminalEnvironsProcPtr)                 TerminalEnvironsUPP;
  160. typedef STACK_UPP_TYPE(TerminalChooseIdleProcPtr)                 TerminalChooseIdleUPP;
  161. typedef STACK_UPP_TYPE(TerminalToolDefProcPtr)                     TerminalToolDefUPP;
  162. /*    TMTermTypes     */
  163.  
  164. struct TermRecord {
  165.     short                             procID;
  166.     TMFlags                         flags;
  167.     TMErr                             errCode;
  168.     long                             refCon;
  169.     long                             userData;
  170.     TerminalToolDefUPP                 defProc;
  171.     Ptr                             config;
  172.     Ptr                             oldConfig;
  173.     TerminalEnvironsUPP             environsProc;
  174.     long                             reserved1;
  175.     long                             reserved2;
  176.     Ptr                             tmPrivate;
  177.     TerminalSendUPP                 sendProc;
  178.     TerminalBreakUPP                 breakProc;
  179.     TerminalCacheUPP                 cacheProc;
  180.     TerminalClikLoopUPP             clikLoop;
  181.     WindowPtr                         owner;
  182.     Rect                             termRect;
  183.     Rect                             viewRect;
  184.     Rect                             visRect;
  185.     long                             lastIdle;
  186.     TMSelection                     selection;
  187.     TMSelTypes                         selType;
  188.     long                             mluField;
  189. };
  190.  
  191. #if OPAQUE_UPP_TYPES
  192.     EXTERN_API(TerminalSendUPP)
  193.     NewTerminalSendUPP               (TerminalSendProcPtr        userRoutine);
  194.  
  195.     EXTERN_API(TerminalBreakUPP)
  196.     NewTerminalBreakUPP               (TerminalBreakProcPtr    userRoutine);
  197.  
  198.     EXTERN_API(TerminalCacheUPP)
  199.     NewTerminalCacheUPP               (TerminalCacheProcPtr    userRoutine);
  200.  
  201.     EXTERN_API(TerminalSearchCallBackUPP)
  202.     NewTerminalSearchCallBackUPP    (TerminalSearchCallBackProcPtr userRoutine);
  203.  
  204.     EXTERN_API(TerminalClikLoopUPP)
  205.     NewTerminalClikLoopUPP           (TerminalClikLoopProcPtr    userRoutine);
  206.  
  207.     EXTERN_API(TerminalEnvironsUPP)
  208.     NewTerminalEnvironsUPP           (TerminalEnvironsProcPtr    userRoutine);
  209.  
  210.     EXTERN_API(TerminalChooseIdleUPP)
  211.     NewTerminalChooseIdleUPP       (TerminalChooseIdleProcPtr userRoutine);
  212.  
  213.     EXTERN_API(TerminalToolDefUPP)
  214.     NewTerminalToolDefUPP           (TerminalToolDefProcPtr    userRoutine);
  215.  
  216.     EXTERN_API(void)
  217.     DisposeTerminalSendUPP           (TerminalSendUPP            userUPP);
  218.  
  219.     EXTERN_API(void)
  220.     DisposeTerminalBreakUPP           (TerminalBreakUPP        userUPP);
  221.  
  222.     EXTERN_API(void)
  223.     DisposeTerminalCacheUPP           (TerminalCacheUPP        userUPP);
  224.  
  225.     EXTERN_API(void)
  226.     DisposeTerminalSearchCallBackUPP    (TerminalSearchCallBackUPP userUPP);
  227.  
  228.     EXTERN_API(void)
  229.     DisposeTerminalClikLoopUPP       (TerminalClikLoopUPP        userUPP);
  230.  
  231.     EXTERN_API(void)
  232.     DisposeTerminalEnvironsUPP       (TerminalEnvironsUPP        userUPP);
  233.  
  234.     EXTERN_API(void)
  235.     DisposeTerminalChooseIdleUPP    (TerminalChooseIdleUPP    userUPP);
  236.  
  237.     EXTERN_API(void)
  238.     DisposeTerminalToolDefUPP       (TerminalToolDefUPP        userUPP);
  239.  
  240.     EXTERN_API(long)
  241.     InvokeTerminalSendUPP           (Ptr                        thePtr,
  242.                                     long                    theSize,
  243.                                     long                    refCon,
  244.                                     CMFlags                    flags,
  245.                                     TerminalSendUPP            userUPP);
  246.  
  247.     EXTERN_API(void)
  248.     InvokeTerminalBreakUPP           (long                    duration,
  249.                                     long                    refCon,
  250.                                     TerminalBreakUPP        userUPP);
  251.  
  252.     EXTERN_API(long)
  253.     InvokeTerminalCacheUPP           (long                    refCon,
  254.                                     TermDataBlockPtr        theTermData,
  255.                                     TerminalCacheUPP        userUPP);
  256.  
  257.     EXTERN_API(void)
  258.     InvokeTerminalSearchCallBackUPP    (TermHandle            hTerm,
  259.                                     short                    refNum,
  260.                                     Rect *                    foundRect,
  261.                                     TerminalSearchCallBackUPP userUPP);
  262.  
  263.     EXTERN_API(Boolean)
  264.     InvokeTerminalClikLoopUPP       (long                    refCon,
  265.                                     TerminalClikLoopUPP        userUPP);
  266.  
  267.     EXTERN_API(CMErr)
  268.     InvokeTerminalEnvironsUPP       (long                    refCon,
  269.                                     ConnEnvironRec *        theEnvirons,
  270.                                     TerminalEnvironsUPP        userUPP);
  271.  
  272.     EXTERN_API(void)
  273.     InvokeTerminalChooseIdleUPP       (TerminalChooseIdleUPP    userUPP);
  274.  
  275.     EXTERN_API(long)
  276.     InvokeTerminalToolDefUPP       (TermHandle                hTerm,
  277.                                     short                    msg,
  278.                                     long                    p1,
  279.                                     long                    p2,
  280.                                     long                    p3,
  281.                                     TerminalToolDefUPP        userUPP);
  282.  
  283. #else
  284.     enum { uppTerminalSendProcInfo = 0x00002FF0 };                     /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 2_bytes) */
  285.     enum { uppTerminalBreakProcInfo = 0x000003C0 };                 /* pascal no_return_value Func(4_bytes, 4_bytes) */
  286.     enum { uppTerminalCacheProcInfo = 0x000003F0 };                 /* pascal 4_bytes Func(4_bytes, 4_bytes) */
  287.     enum { uppTerminalSearchCallBackProcInfo = 0x00000EC0 };         /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes) */
  288.     enum { uppTerminalClikLoopProcInfo = 0x000000D0 };                 /* pascal 1_byte Func(4_bytes) */
  289.     enum { uppTerminalEnvironsProcInfo = 0x000003E0 };                 /* pascal 2_bytes Func(4_bytes, 4_bytes) */
  290.     enum { uppTerminalChooseIdleProcInfo = 0x00000000 };             /* pascal no_return_value Func() */
  291.     enum { uppTerminalToolDefProcInfo = 0x0000FEF0 };                 /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
  292.     #define NewTerminalSendUPP(userRoutine)                         (TerminalSendUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTerminalSendProcInfo, GetCurrentArchitecture())
  293.     #define NewTerminalBreakUPP(userRoutine)                         (TerminalBreakUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTerminalBreakProcInfo, GetCurrentArchitecture())
  294.     #define NewTerminalCacheUPP(userRoutine)                         (TerminalCacheUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTerminalCacheProcInfo, GetCurrentArchitecture())
  295.     #define NewTerminalSearchCallBackUPP(userRoutine)                 (TerminalSearchCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTerminalSearchCallBackProcInfo, GetCurrentArchitecture())
  296.     #define NewTerminalClikLoopUPP(userRoutine)                     (TerminalClikLoopUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTerminalClikLoopProcInfo, GetCurrentArchitecture())
  297.     #define NewTerminalEnvironsUPP(userRoutine)                     (TerminalEnvironsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTerminalEnvironsProcInfo, GetCurrentArchitecture())
  298.     #define NewTerminalChooseIdleUPP(userRoutine)                     (TerminalChooseIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTerminalChooseIdleProcInfo, GetCurrentArchitecture())
  299.     #define NewTerminalToolDefUPP(userRoutine)                         (TerminalToolDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTerminalToolDefProcInfo, GetCurrentArchitecture())
  300.     #define DisposeTerminalSendUPP(userUPP)                         DisposeRoutineDescriptor(userUPP)
  301.     #define DisposeTerminalBreakUPP(userUPP)                         DisposeRoutineDescriptor(userUPP)
  302.     #define DisposeTerminalCacheUPP(userUPP)                         DisposeRoutineDescriptor(userUPP)
  303.     #define DisposeTerminalSearchCallBackUPP(userUPP)                 DisposeRoutineDescriptor(userUPP)
  304.     #define DisposeTerminalClikLoopUPP(userUPP)                     DisposeRoutineDescriptor(userUPP)
  305.     #define DisposeTerminalEnvironsUPP(userUPP)                     DisposeRoutineDescriptor(userUPP)
  306.     #define DisposeTerminalChooseIdleUPP(userUPP)                     DisposeRoutineDescriptor(userUPP)
  307.     #define DisposeTerminalToolDefUPP(userUPP)                         DisposeRoutineDescriptor(userUPP)
  308.     #define InvokeTerminalSendUPP(thePtr, theSize, refCon, flags, userUPP)  (long)CALL_FOUR_PARAMETER_UPP((userUPP), uppTerminalSendProcInfo, (thePtr), (theSize), (refCon), (flags))
  309.     #define InvokeTerminalBreakUPP(duration, refCon, userUPP)         CALL_TWO_PARAMETER_UPP((userUPP), uppTerminalBreakProcInfo, (duration), (refCon))
  310.     #define InvokeTerminalCacheUPP(refCon, theTermData, userUPP)     (long)CALL_TWO_PARAMETER_UPP((userUPP), uppTerminalCacheProcInfo, (refCon), (theTermData))
  311.     #define InvokeTerminalSearchCallBackUPP(hTerm, refNum, foundRect, userUPP)  CALL_THREE_PARAMETER_UPP((userUPP), uppTerminalSearchCallBackProcInfo, (hTerm), (refNum), (foundRect))
  312.     #define InvokeTerminalClikLoopUPP(refCon, userUPP)                 (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppTerminalClikLoopProcInfo, (refCon))
  313.     #define InvokeTerminalEnvironsUPP(refCon, theEnvirons, userUPP)  (CMErr)CALL_TWO_PARAMETER_UPP((userUPP), uppTerminalEnvironsProcInfo, (refCon), (theEnvirons))
  314.     #define InvokeTerminalChooseIdleUPP(userUPP)                     CALL_ZERO_PARAMETER_UPP((userUPP), uppTerminalChooseIdleProcInfo)
  315.     #define InvokeTerminalToolDefUPP(hTerm, msg, p1, p2, p3, userUPP)  (long)CALL_FIVE_PARAMETER_UPP((userUPP), uppTerminalToolDefProcInfo, (hTerm), (msg), (p1), (p2), (p3))
  316. #endif
  317. /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
  318. #define NewTerminalSendProc(userRoutine)                         NewTerminalSendUPP(userRoutine)
  319. #define NewTerminalBreakProc(userRoutine)                         NewTerminalBreakUPP(userRoutine)
  320. #define NewTerminalCacheProc(userRoutine)                         NewTerminalCacheUPP(userRoutine)
  321. #define NewTerminalSearchCallBackProc(userRoutine)                 NewTerminalSearchCallBackUPP(userRoutine)
  322. #define NewTerminalClikLoopProc(userRoutine)                     NewTerminalClikLoopUPP(userRoutine)
  323. #define NewTerminalEnvironsProc(userRoutine)                     NewTerminalEnvironsUPP(userRoutine)
  324. #define NewTerminalChooseIdleProc(userRoutine)                     NewTerminalChooseIdleUPP(userRoutine)
  325. #define NewTerminalToolDefProc(userRoutine)                     NewTerminalToolDefUPP(userRoutine)
  326. #define CallTerminalSendProc(userRoutine, thePtr, theSize, refCon, flags) InvokeTerminalSendUPP(thePtr, theSize, refCon, flags, userRoutine)
  327. #define CallTerminalBreakProc(userRoutine, duration, refCon)    InvokeTerminalBreakUPP(duration, refCon, userRoutine)
  328. #define CallTerminalCacheProc(userRoutine, refCon, theTermData)    InvokeTerminalCacheUPP(refCon, theTermData, userRoutine)
  329. #define CallTerminalSearchCallBackProc(userRoutine, hTerm, refNum, foundRect) InvokeTerminalSearchCallBackUPP(hTerm, refNum, foundRect, userRoutine)
  330. #define CallTerminalClikLoopProc(userRoutine, refCon)            InvokeTerminalClikLoopUPP(refCon, userRoutine)
  331. #define CallTerminalEnvironsProc(userRoutine, refCon, theEnvirons) InvokeTerminalEnvironsUPP(refCon, theEnvirons, userRoutine)
  332. #define CallTerminalChooseIdleProc(userRoutine)                    InvokeTerminalChooseIdleUPP(userRoutine)
  333. #define CallTerminalToolDefProc(userRoutine, hTerm, msg, p1, p2, p3) InvokeTerminalToolDefUPP(hTerm, msg, p1, p2, p3, userRoutine)
  334.  
  335. EXTERN_API( TMErr )
  336. InitTM                            (void);
  337.  
  338. EXTERN_API( Handle )
  339. TMGetVersion                    (TermHandle             hTerm);
  340.  
  341. EXTERN_API( short )
  342. TMGetTMVersion                    (void);
  343.  
  344. EXTERN_API( TermHandle )
  345. TMNew                            (const Rect *            termRect,
  346.                                  const Rect *            viewRect,
  347.                                  TMFlags                 flags,
  348.                                  short                     procID,
  349.                                  WindowPtr                 owner,
  350.                                  TerminalSendUPP         sendProc,
  351.                                  TerminalCacheUPP         cacheProc,
  352.                                  TerminalBreakUPP         breakProc,
  353.                                  TerminalClikLoopUPP     clikLoop,
  354.                                  TerminalEnvironsUPP     environsProc,
  355.                                  long                     refCon,
  356.                                  long                     userData);
  357.  
  358. EXTERN_API( void )
  359. TMDispose                        (TermHandle             hTerm);
  360.  
  361. EXTERN_API( void )
  362. TMKey                            (TermHandle             hTerm,
  363.                                  const EventRecord *    theEvent);
  364.  
  365. EXTERN_API( void )
  366. TMUpdate                        (TermHandle             hTerm,
  367.                                  RgnHandle                 visRgn);
  368.  
  369. EXTERN_API( void )
  370. TMPaint                            (TermHandle             hTerm,
  371.                                  const TermDataBlock *    theTermData,
  372.                                  const Rect *            theRect);
  373.  
  374. EXTERN_API( void )
  375. TMActivate                        (TermHandle             hTerm,
  376.                                  Boolean                 activate);
  377.  
  378. EXTERN_API( void )
  379. TMResume                        (TermHandle             hTerm,
  380.                                  Boolean                 resume);
  381.  
  382. EXTERN_API( void )
  383. TMClick                            (TermHandle             hTerm,
  384.                                  const EventRecord *    theEvent);
  385.  
  386. EXTERN_API( void )
  387. TMIdle                            (TermHandle             hTerm);
  388.  
  389. EXTERN_API( long )
  390. TMStream                        (TermHandle             hTerm,
  391.                                  void *                    theBuffer,
  392.                                  long                     theLength,
  393.                                  CMFlags                 flags);
  394.  
  395. EXTERN_API( Boolean )
  396. TMMenu                            (TermHandle             hTerm,
  397.                                  short                     menuID,
  398.                                  short                     item);
  399.  
  400. EXTERN_API( void )
  401. TMReset                            (TermHandle             hTerm);
  402.  
  403. EXTERN_API( void )
  404. TMClear                            (TermHandle             hTerm);
  405.  
  406. EXTERN_API( void )
  407. TMResize                        (TermHandle             hTerm,
  408.                                  const Rect *            newViewRect);
  409.  
  410. EXTERN_API( long )
  411. TMGetSelect                        (TermHandle             hTerm,
  412.                                  Handle                 theData,
  413.                                  ResType *                theType);
  414.  
  415. EXTERN_API( void )
  416. TMGetLine                        (TermHandle             hTerm,
  417.                                  short                     lineNo,
  418.                                  TermDataBlock *        theTermData);
  419.  
  420. EXTERN_API( void )
  421. TMSetSelection                    (TermHandle             hTerm,
  422.                                  const TMSelection *    theSelection,
  423.                                  TMSelTypes             selType);
  424.  
  425. EXTERN_API( void )
  426. TMScroll                        (TermHandle             hTerm,
  427.                                  short                     dh,
  428.                                  short                     dv);
  429.  
  430. EXTERN_API( Boolean )
  431. TMValidate                        (TermHandle             hTerm);
  432.  
  433. EXTERN_API( void )
  434. TMDefault                        (Ptr *                    theConfig,
  435.                                  short                     procID,
  436.                                  Boolean                 allocate);
  437.  
  438. EXTERN_API( Handle )
  439. TMSetupPreflight                (short                     procID,
  440.                                  long *                    magicCookie);
  441.  
  442. EXTERN_API( void )
  443. TMSetupSetup                    (short                     procID,
  444.                                  const void *            theConfig,
  445.                                  short                     count,
  446.                                  DialogPtr                 theDialog,
  447.                                  long *                    magicCookie);
  448.  
  449. EXTERN_API( Boolean )
  450. TMSetupFilter                    (short                     procID,
  451.                                  const void *            theConfig,
  452.                                  short                     count,
  453.                                  DialogPtr                 theDialog,
  454.                                  EventRecord *            theEvent,
  455.                                  short *                theItem,
  456.                                  long *                    magicCookie);
  457.  
  458. EXTERN_API( void )
  459. TMSetupItem                        (short                     procID,
  460.                                  const void *            theConfig,
  461.                                  short                     count,
  462.                                  DialogPtr                 theDialog,
  463.                                  short *                theItem,
  464.                                  long *                    magicCookie);
  465.  
  466. EXTERN_API( void )
  467. TMSetupXCleanup                    (short                     procID,
  468.                                  const void *            theConfig,
  469.                                  short                     count,
  470.                                  DialogPtr                 theDialog,
  471.                                  Boolean                 OKed,
  472.                                  long *                    magicCookie);
  473.  
  474. EXTERN_API( void )
  475. TMSetupPostflight                (short                     procID);
  476.  
  477. EXTERN_API( Ptr )
  478. TMGetConfig                        (TermHandle             hTerm);
  479.  
  480. EXTERN_API( short )
  481. TMSetConfig                        (TermHandle             hTerm,
  482.                                  const void *            thePtr);
  483.  
  484. EXTERN_API( OSErr )
  485. TMIntlToEnglish                    (TermHandle             hTerm,
  486.                                  const void *            inputPtr,
  487.                                  Ptr *                    outputPtr,
  488.                                  short                     language);
  489.  
  490. EXTERN_API( OSErr )
  491. TMEnglishToIntl                    (TermHandle             hTerm,
  492.                                  const void *            inputPtr,
  493.                                  Ptr *                    outputPtr,
  494.                                  short                     language);
  495.  
  496. EXTERN_API( void )
  497. TMGetToolName                    (short                     id,
  498.                                  Str255                 name);
  499.  
  500. EXTERN_API( short )
  501. TMGetProcID                        (ConstStr255Param         name);
  502.  
  503. EXTERN_API( void )
  504. TMSetRefCon                        (TermHandle             hTerm,
  505.                                  long                     refCon);
  506.  
  507. EXTERN_API( long )
  508. TMGetRefCon                        (TermHandle             hTerm);
  509.  
  510. EXTERN_API( void )
  511. TMSetUserData                    (TermHandle             hTerm,
  512.                                  long                     userData);
  513.  
  514. EXTERN_API( long )
  515. TMGetUserData                    (TermHandle             hTerm);
  516.  
  517. EXTERN_API( short )
  518. TMAddSearch                        (TermHandle             hTerm,
  519.                                  ConstStr255Param         theString,
  520.                                  const Rect *            where,
  521.                                  TMSearchTypes             searchType,
  522.                                  TerminalSearchCallBackUPP  callBack);
  523.  
  524. EXTERN_API( void )
  525. TMRemoveSearch                    (TermHandle             hTerm,
  526.                                  short                     refnum);
  527.  
  528. EXTERN_API( void )
  529. TMClearSearch                    (TermHandle             hTerm);
  530.  
  531. EXTERN_API( Point )
  532. TMGetCursor                        (TermHandle             hTerm,
  533.                                  TMCursorTypes             cursType);
  534.  
  535. EXTERN_API( TMErr )
  536. TMGetTermEnvirons                (TermHandle             hTerm,
  537.                                  TermEnvironRec *        theEnvirons);
  538.  
  539. EXTERN_API( short )
  540. TMChoose                        (TermHandle *            hTerm,
  541.                                  Point                     where,
  542.                                  TerminalChooseIdleUPP     idleProc);
  543.  
  544. EXTERN_API( void )
  545. TMEvent                            (TermHandle             hTerm,
  546.                                  const EventRecord *    theEvent);
  547.  
  548. EXTERN_API( Boolean )
  549. TMDoTermKey                        (TermHandle             hTerm,
  550.                                  ConstStr255Param         theKey);
  551.  
  552. EXTERN_API( short )
  553. TMCountTermKeys                    (TermHandle             hTerm);
  554.  
  555. EXTERN_API( void )
  556. TMGetIndTermKey                    (TermHandle             hTerm,
  557.                                  short                     id,
  558.                                  Str255                 theKey);
  559.  
  560. EXTERN_API( void )
  561. TMGetErrorString                (TermHandle             hTerm,
  562.                                  short                     id,
  563.                                  Str255                 errMsg);
  564.  
  565. #endif  /* CALL_NOT_IN_CARBON */
  566.  
  567.  
  568. #if PRAGMA_STRUCT_ALIGN
  569.     #pragma options align=reset
  570. #elif PRAGMA_STRUCT_PACKPUSH
  571.     #pragma pack(pop)
  572. #elif PRAGMA_STRUCT_PACK
  573.     #pragma pack()
  574. #endif
  575.  
  576. #ifdef PRAGMA_IMPORT_OFF
  577. #pragma import off
  578. #elif PRAGMA_IMPORT
  579. #pragma import reset
  580. #endif
  581.  
  582. #ifdef __cplusplus
  583. }
  584. #endif
  585.  
  586. #endif /* __TERMINALS__ */
  587.  
  588.